package bean;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JLabel;
import javax.swing.Timer;

public class JLabelCronometro2 extends JLabel implements ActionListener{
	
	Timer timer; 
	private int segundos=0; 
	private int minutos=0; 
	private int horas=0;
	private boolean congelado=false; 
	
	public JLabelCronometro2(){ 
		timer=new Timer(1000,this); 
		this.setText(horas+":"+minutos+":"+segundos); 
		this.setForeground(Color.RED); 
		this.setBackground(Color.WHITE);
	} 

	public JLabelCronometro2(int hora, int minuto,int segundo){ 
		timer=new Timer(1000,this); 
		this.setText(horas+":"+minutos+":"+segundos); 
		setHoras(hora);
		setMinutos(minuto); 
		setSegundos(segundo); 
		this.setForeground(Color.RED); 
		this.setBackground(Color.WHITE);
	}

	public int getSegundos() {
		return segundos;
	}

	public void setSegundos(int segundos) {
		this.segundos = segundos;
	}

	public int getMinutos() {
		return minutos;
	}

	public void setMinutos(int minutos) {
		this.minutos = minutos;
	}

	public int getHoras() {
		return horas;
	}

	public void setHoras(int horas) {
		this.horas = horas;
	}

	public void iniciarCronometro() { 
		if (congelado) { 

		} else { 

			timer.start(); 
		} 
	}
	
	public boolean cronometroEnMarcha(){ 
		return timer.isRunning(); 
	} 

	public void detenerse() { 
		timer.stop(); 
	} 

	public void reiniciarCronometro(){ 
		timer.stop(); 
		segundos=0; 
		minutos=0; 
		horas=0;
		this.setText(horas+":"+minutos+":"+segundos); 
	}

	public void actionPerformed(ActionEvent e){ 
		segundos++; 
		if (segundos<=59){ 
			this.setText(horas+":"+minutos+":"+segundos);
		} 
		else{ 
			minutos++; 
			segundos=0; 
			this.setText(horas+":"+minutos+":"+segundos);
			if (minutos==60){
				minutos=0; 
				horas++;
				this.setText(horas+":"+minutos+":"+segundos);
			}
		}
	} 
}
